import Request from '../../utils/request.js';

/**
 * 我的相关API
 */
class MyApi {
  /**
   * 获取我的-可购停车卡
   * @returns {Promise} 可购卡列表
   */
  static async getParkCards() {
    return Request.get(`/park/card/getParkCardList`);
  }

  /**
   * 获取我的-已购停车卡
   * @returns {Promise} 已购卡列表
   */
  static async getPurchasedCards() {
    return Request.post(`/park/card/purchase-records/list`);
  }

  /**
   * 获取我的绑定车辆列表
   * @returns {Promise} 绑定车辆列表
   */
  static async getBoundVehicles() {
    return Request.post(`/park/member-car-rlt/list`);
  }

  /**
   * 更新我的车辆信息
   * @param {Object} updateReqVO - 更新请求参数
   * @returns {Promise} 更新结果
   */
  static async updateVehicle(updateReqVO) {
    if (!updateReqVO || updateReqVO.id == null) {
      throw new Error('信息为空');
    }
    console.log('更新车辆信息:', updateReqVO);
    return Request.post(`/park/member-car-rlt/update`, updateReqVO);
  }

  /**
   * 删除我的绑定车辆
   * @param {Number} id - 绑定车辆ID
   * @returns {Promise} 删除结果
   */
  static async deleteVehicle(id) {
    if (id == null) {
      throw new Error('信息为空');
    }
    return Request.deleteById(`/park/member-car-rlt/delete/{id}`, id);
  }

  /**
   * 新增车辆
   * @param {Object} bindReqVO - 绑定请求参数
   * @returns {Promise} 绑定结果
   */
  static async bindVehicle(bindReqVO) {
    if (!bindReqVO) {
      throw new Error('信息为空');
    }
    return Request.post(`/park/member-car-rlt/create`, bindReqVO);
  }

  /**
   * 获取单个绑定车辆
   * @param {Number} id - 绑定车辆ID
   * @returns {Promise} 绑定车辆详情
   */
  static async getBoundVehicle(id) {
    if (id == null) {
      throw new Error('信息为空');
    }
    return Request.get(`/park/member-car-rlt/get`, { id });
  }
}

export default MyApi;
